DEBUG_FLAGS = -fPIC -g -D__MUTEX
LIB_FLAGS = -lcrypto
CC = g++

# 自动获取所有 .cpp 文件
SRC_FILES := $(wildcard *.cpp)
# 生成对应的目标库文件名
TARGETS := $(patsubst %.cpp,lib%.so,$(SRC_FILES))

# 默认目标: 编译所有库
all: $(TARGETS)

# 通用规则: 将单个 .cpp 编译为对应的 .so
lib%.so: %.cpp
	$(CC) -shared -o $@ $< $(DEBUG_FLAGS) $(LIB_FLAGS)

# 清理所有生成的库和中间文件
.PHONY: clean
clean:
	rm -f $(TARGETS) *.o *.so
